// String substitution datapump
// Copyright 2006 (C) Ralph Thomas

#ifndef MISSION_DATAPUMPS_SUBSTITUTE_H
#define MISSION_DATAPUMPS_SUBSTITUTE_H

#include <string>
#include <adobe/value.hpp>
#include <adobe/dictionary.hpp>
#include <adobe/adam.hpp>

namespace datapumps {
	//
	/// The substitute datapump takes a source string and a set
	/// of named values.
	///
	/// This factory function throws exceptions when the given
	/// parameters are invalid.
	///
	/// \param	dest		string to substitute into.
	/// \param	parameters	name/values for substitution.
	/// \param	sheet		the sheet to resolve @names into.
	/// \return	a substitution datapump.
	//
	adobe::value_t make_substitute_datapump( const std::string& dest, const adobe::dictionary_t& parameters, adobe::sheet_t& sheet );
}

#endif

